let indexMoudle = (function(){
    let $logout = $('.baseBox').find('a'),
        $greet = $('.baseBox').find('span'),
        $navlist = $('.navBox').find('a'),
        $menuBox = $('.menuBox'),
        $iframeBox = $('.iframeBox'),
        $menuList = null;
     

    // 渲染页面
    function bindHTML(power,userInfo){
        greet(userInfo)

        // 根据不同的权限显示不同的模块
        // 获取用户权限
        //	"power": "userhandle|departhandle|jobhandle|customerall|customermy 
        //  员工管理 部门管理 职务管理 客户管理    
        let str = '';
        if(power.includes('userhandle')){
            str += `<div class="itemBox" text="员工管理">
            <h3>
                <i class="iconfont icon-yuangong"></i>
                员工管理
            </h3>
            <nav class="item">
                <a href="page/userlist.html" target="iframeBox" >员工列表</a>
                <a href="page/useradd.html" target="iframeBox">新增员工</a>
            </nav>
        </div>`
        }
        if(power.includes('departhandle')){
            str += `<div class="itemBox" text="部门管理">
            <h3>
                <i class="iconfont icon-guanliyuan"></i>
                部门管理
            </h3>
            <nav class="item">
                <a href="page/departmentlist.html" target="iframeBox" >部门列表</a>
                <a href="page/departmentadd.html" target="iframeBox">新增部门</a>
            </nav>
        </div>`
        }
        if(power.includes('jobhandle')){
                str += `<div class="itemBox" text="职务管理">
                <h3>
                    <i class="iconfont icon-zhiwuguanli"></i>
                    职务管理
                    </h3>
                <nav class="item">
                    <a href="page/joblist.html" target="iframeBox">职务列表</a>
                    <a href="page/jobadd.html" target="iframeBox">新增职务</a>
                </nav>
            </div>`
        }
        if(power.includes('customer')){
            str += `<div class="itemBox" text="客户管理">
            <h3>
                <i class="iconfont icon-kehuguanli"></i>
                客户管理
            </h3>
            <nav class="item">
                <a href="page/customerlist.html?lx=my" target="iframeBox" >我的客户</a>
                ${power.includes('customerall')? '<a href="page/customerlist.html?lx=all" target="iframeBox">全部客户</a>': ''}
                <a href="page/customeradd.html" target="iframeBox">新增客户</a>
            </nav>
        </div> `
        }
        $menuBox.append(str);
        $menuList = $menuBox.find('.itemBox');// 获取所有的itemBox
        
        // 默认显示组织结构（无权限则显示 客户管理）
        let initIndex = /(departhandle|jobhandle|userhandle)/.test(power) ?0:1;
        initialShow(initIndex,power);

    }
    // 显示欢迎信息
    function greet(userInfo){
        let hour = new Date().getHours();
        let text ;
        if(hour>=3 && hour<6){
            text = '凌晨好!'
        }else if(hour >=6 && hour<11){
            text = '早上好！'
        }else if(hour >=11 && hour<13){
            text = '中午好！'
        }else if(hour >=13 && hour<19){
            text = '下午好！'
        }else{
            text = '晚上好！'
        }
        $greet.html(`${text}${userInfo.name}`|| '')
    }
    // 对itemBox进行分组（客户管理 组织结构）iframe 默认内嵌页面
    function initialShow(index){
        // 组织结构===》员工管理 部门管理 职务管理
        // 客户管理===》 客户管理
        let group1 = $menuList.filter((_,item)=>{
            let text = $(item).attr('text');
            return text === '客户管理'
        })
        let group2 =  $menuList.filter((_,item)=>{
            let text = $(item).attr('text');
            return /^员工管理|部门管理|职务管理$/.test(text);
        })
        if(index === 1){// 显示客户管理
            group2.css('display','none')
            group1.css('display','block')
            $iframeBox.attr('src','page/customerlist.html?lx=my');
        }else if(index === 0){// 显示组织结构
            group1.css('display','none')
            group2.css('display','block')
            $iframeBox.attr('src','page/userlist.html');
        }
        $navlist.eq(index).addClass('active');
    }
    // 点击切换
    function tabNav(power){       
        $navlist.click(function(){// 不要用箭头函数
            let $this = $(this),
                currentIndex = $this.index(),
                text = $this.html();
            // 权限判断(无权限的不可以访问)
            if(text === '客户管理' && !/customer/.test(power) ||
            text === '组织结构' && !/(departhandle|jobhandle|userhandle)/.test(power)){
                alert('小主，您无权限访问，请联系管理员~');
                return;
            }
            initialShow(currentIndex);
            $this.addClass('active').siblings().removeClass('active')
        })
    }
    // 检测是否登录
    async function isLogin(){
        let result = await axios.get('/user/login');
        if(result.code != 0){
            alert('您还未登录，请登录后重试~');
            window.location.href = 'login.html'
        }
        return;
    }
    // 退出登录
    function logout(){
        $logout.click(async e=>{
            let flag = confirm('小主，您确定退出吗?');
            console.log(flag)
            if(flag){
                let result = await axios.get('/user/signout');
                if(result.code == 0){
                    localStorage.clear();// 清空用户信息
                    window.location.href = 'login.html';
                    return;
                }
                alert('网络繁忙，请稍后重试');

            }else{
                return;
            }
            
            
        })
    }
    
    return {
        async init(){
            isLogin();

            // 获取用户权限 和 用户详细信息
            let [power,userInfo] = await axios.all([
                axios.get('/user/power'),
                axios.get('/user/info')
            ])
            power.code == 0? power = power.power:null;
            userInfo.code == 0? userInfo = userInfo.data:null;
            

            bindHTML(power,userInfo);    
            tabNav(power)
            logout();
        }
    }
})()
indexMoudle.init();